package com.core.ingenium.model;

import java.util.List;

public class JavaServiceFacadeClient {
    public static void main(String[] args) {
        try {
            final JavaServiceFacade javaServiceFacade = new JavaServiceFacade();
            for (Permiso permiso : (List<Permiso>)javaServiceFacade.getPermisoFindAll()) {
                printPermiso(permiso);
            }
            for (Nivel nivel : (List<Nivel>)javaServiceFacade.getNivelFindAll()) {
                printNivel(nivel);
            }
        
            for (Bitacora bitacora : (List<Bitacora>)javaServiceFacade.getBitacoraFindAll()) {
                printBitacora(bitacora);
            }
            for (ResultadoSeccion resultadoseccion :
                 (List<ResultadoSeccion>)javaServiceFacade.getResultadoSeccionFindAll()) {
                printResultadoSeccion(resultadoseccion);
            }
            for (PermisoRol permisorol : (List<PermisoRol>)javaServiceFacade.getPermisoRolFindAll()) {
                printPermisoRol(permisorol);
            }
            for (UsuarioCarrera usuariocarrera : (List<UsuarioCarrera>)javaServiceFacade.getUsuarioCarreraFindAll()) {
                printUsuarioCarrera(usuariocarrera);
            }
            for (Usuario usuario : (List<Usuario>)javaServiceFacade.getUsuarioFindAll()) {
                printUsuario(usuario);
            }    
            for (EstudiantePlantilla estudianteplantilla :
                 (List<EstudiantePlantilla>)javaServiceFacade.getEstudiantePlantillaFindAll()) {
                printEstudiantePlantilla(estudianteplantilla);
            }
            for (EstudiantePlantilla estudianteplantilla :
                 (List<EstudiantePlantilla>)javaServiceFacade.getEstudiantePlantillaFindByEstudiante(new Estudiante()) /* FIXME: Pass parameters here */) {
                printEstudiantePlantilla(estudianteplantilla);
            }
            for (Estudiante estudiante : (List<Estudiante>)javaServiceFacade.getEstudianteFindAll()) {
                printEstudiante(estudiante);
            }
            for (Estudiante estudiante :
                 (List<Estudiante>)javaServiceFacade.getEstudianteFindByIdentificacion(new Estudiante()) /* FIXME: Pass parameters here */) {
                printEstudiante(estudiante);
            }
            for (Estudiante estudiante :
                 (List<Estudiante>)javaServiceFacade.getEstudianteFindByFiltro(new Estudiante()) /* FIXME: Pass parameters here */) {
                printEstudiante(estudiante);
            }
            for (Seccion seccion : (List<Seccion>)javaServiceFacade.getSeccionFindAll()) {
                printSeccion(seccion);
            }
            for (CarreraNivel carreranivel : (List<CarreraNivel>)javaServiceFacade.getCarreraNivelFindAll()) {
                printCarreraNivel(carreranivel);
            }
            for (Plantilla plantilla : (List<Plantilla>)javaServiceFacade.getPlantillaFindAll()) {
                printPlantilla(plantilla);
            }
            for (Opcion opcion : (List<Opcion>)javaServiceFacade.getOpcionFindAll()) {
                printOpcion(opcion);
            }
            for (Pregunta pregunta : (List<Pregunta>)javaServiceFacade.getPreguntaFindAll()) {
                printPregunta(pregunta);
            }
            for (Rol rol : (List<Rol>)javaServiceFacade.getRolFindAll()) {
                printRol(rol);
            }
            
            for (Carrera carrera : (List<Carrera>)javaServiceFacade.getCarreraFindAll()) {
                printCarrera(carrera);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    private static void printPermiso(Permiso permiso) {
        System.out.println("descripcion = " + permiso.getDescripcion());
        System.out.println("id = " + permiso.getId());
        System.out.println("lstPermisoRol = " + permiso.getLstPermisoRol());
    }

    private static void printNivel(Nivel nivel) {
        System.out.println("descripcion = " + nivel.getDescripcion());
        System.out.println("id = " + nivel.getId());
        System.out.println("lstCarreraNivel = " + nivel.getLstCarreraNivel());
    }

    private static void printBitacora(Bitacora bitacora) {
        System.out.println("fecha = " + bitacora.getFecha());
        System.out.println("id = " + bitacora.getId());
        System.out.println("operacion = " + bitacora.getOperacion());
        System.out.println("usuario = " + bitacora.getUsuario());
    }

    private static void printResultadoSeccion(ResultadoSeccion resultadoseccion) {
        System.out.println("cantCorrectas = " + resultadoseccion.getCantCorrectas());
        System.out.println("id = " + resultadoseccion.getId());
        System.out.println("resultado = " + resultadoseccion.getResultado());
        System.out.println("seccion = " + resultadoseccion.getSeccion());
        System.out.println("estudiantePlantilla = " + resultadoseccion.getEstudiantePlantilla());
    }

    private static void printPermisoRol(PermisoRol permisorol) {
        System.out.println("id = " + permisorol.getId());
        System.out.println("tieneAcceso = " + permisorol.getTieneAcceso());
        System.out.println("permiso = " + permisorol.getPermiso());
        System.out.println("rol = " + permisorol.getRol());
    }

    private static void printUsuarioCarrera(UsuarioCarrera usuariocarrera) {
        System.out.println("id = " + usuariocarrera.getId());
        System.out.println("carrera = " + usuariocarrera.getCarrera());
        System.out.println("usuario = " + usuariocarrera.getUsuario());
    }

    private static void printUsuario(Usuario usuario) {
        System.out.println("apellido1 = " + usuario.getApellido1());
        System.out.println("apellido2 = " + usuario.getApellido2());
        System.out.println("clave = " + usuario.getClave());
        System.out.println("correo = " + usuario.getCorreo());
        System.out.println("id = " + usuario.getId());
        System.out.println("identificacion = " + usuario.getIdentificacion());
        System.out.println("nombre = " + usuario.getNombre());
        System.out.println("nombreUsuario = " + usuario.getNombreUsuario());
        System.out.println("lstUsuarioCarrera = " + usuario.getLstUsuarioCarrera());
        System.out.println("rol = " + usuario.getRol());
    }

    private static void printEstudiantePlantilla(EstudiantePlantilla estudianteplantilla) {
        System.out.println("cuatrimestre = " + estudianteplantilla.getCuatrimestre());
        System.out.println("fechaAsignada = " + estudianteplantilla.getFechaAsignada());
        System.out.println("id = " + estudianteplantilla.getId());
        System.out.println("pendiente = " + estudianteplantilla.getPendiente());
        System.out.println("resultado = " + estudianteplantilla.getResultado());
        System.out.println("lstResultadoSeccion = " + estudianteplantilla.getLstResultadoSeccion());
        System.out.println("estudiante = " + estudianteplantilla.getEstudiante());
        System.out.println("plantilla = " + estudianteplantilla.getPlantilla());
    }

    private static void printEstudiante(Estudiante estudiante) {
        System.out.println("apellido1 = " + estudiante.getApellido1());
        System.out.println("apellido2 = " + estudiante.getApellido2());
        System.out.println("id = " + estudiante.getId());
        System.out.println("identificacion = " + estudiante.getIdentificacion());
        System.out.println("nombre = " + estudiante.getNombre());
        System.out.println("lstEstudiantePlantilla = " + estudiante.getLstEstudiantePlantilla());
    }

    private static void printSeccion(Seccion seccion) {
        System.out.println("cronometro = " + seccion.getCronometro());
        System.out.println("id = " + seccion.getId());
        System.out.println("instruccion = " + seccion.getInstruccion());
        System.out.println("maxPreguntas = " + seccion.getMaxPreguntas());
        System.out.println("nombre = " + seccion.getNombre());
        System.out.println("peso = " + seccion.getPeso());
        System.out.println("tiempo = " + seccion.getTiempo());
        System.out.println("lstAnteriores = " + seccion.getLstAnteriores());
        System.out.println("lstEjemplos = " + seccion.getLstEjemplos());
        System.out.println("lstResultadoSeccion = " + seccion.getLstResultadoSeccion());
        System.out.println("lstSiguientes = " + seccion.getLstSiguientes());
        System.out.println("lstPreguntas = " + seccion.getLstPreguntas());
        System.out.println("siguiente = " + seccion.getSiguiente());
        System.out.println("anterior = " + seccion.getAnterior());
        System.out.println("plantilla = " + seccion.getPlantilla());
    }

    private static void printCarreraNivel(CarreraNivel carreranivel) {
        System.out.println("id = " + carreranivel.getId());
        System.out.println("carrera = " + carreranivel.getCarrera());
        System.out.println("nivel = " + carreranivel.getNivel());
    }

    private static void printPlantilla(Plantilla plantilla) {
        System.out.println("id = " + plantilla.getId());
        System.out.println("introduccion = " + plantilla.getIntroduccion());
        System.out.println("maxSeccion = " + plantilla.getMaxSeccion());
        System.out.println("nombre = " + plantilla.getNombre());
        System.out.println("ultimaModificacion = " + plantilla.getUltimaModificacion());
        System.out.println("valorMax = " + plantilla.getValorMax());
        System.out.println("valorMin = " + plantilla.getValorMin());
        System.out.println("lstEstudiantePlantilla = " + plantilla.getLstEstudiantePlantilla());
        System.out.println("lstSecciones = " + plantilla.getLstSecciones());
        System.out.println("carrera = " + plantilla.getCarrera());
    }

    private static void printOpcion(Opcion opcion) {
        System.out.println("descripcion = " + opcion.getDescripcion());
        System.out.println("id = " + opcion.getId());
        System.out.println("pathImg = " + opcion.getPathImg());
        System.out.println("posicion = " + opcion.getPosicion());
        System.out.println("lstPreguntas = " + opcion.getLstPreguntas());
        System.out.println("pregunta = " + opcion.getPregunta());
    }

    private static void printPregunta(Pregunta pregunta) {
        System.out.println("descripcion = " + pregunta.getDescripcion());
        System.out.println("id = " + pregunta.getId());
        System.out.println("maxOpciones = " + pregunta.getMaxOpciones());
        System.out.println("pathImg = " + pregunta.getPathImg());
        System.out.println("posicion = " + pregunta.getPosicion());
        System.out.println("valor = " + pregunta.getValor());
        System.out.println("lstSiguientes = " + pregunta.getLstSiguientes());
        System.out.println("lstAnteriores = " + pregunta.getLstAnteriores());
        System.out.println("lstOpciones = " + pregunta.getLstOpciones());
        System.out.println("opcionCorrecta = " + pregunta.getOpcionCorrecta());
        System.out.println("seccionEjemplo = " + pregunta.getSeccionEjemplo());
        System.out.println("seccionPregunta = " + pregunta.getSeccionPregunta());
        System.out.println("anterior = " + pregunta.getAnterior());
        System.out.println("siguiente = " + pregunta.getSiguiente());
    }

    private static void printRol(Rol rol) {
        System.out.println("descripcion = " + rol.getDescripcion());
        System.out.println("id = " + rol.getId());
        System.out.println("lstPermisoRol = " + rol.getLstPermisoRol());
        System.out.println("lstUsuarios = " + rol.getLstUsuarios());
    }

    private static void printCarrera(Carrera carrera) {
        System.out.println("id = " + carrera.getId());
        System.out.println("nombre = " + carrera.getNombre());
        System.out.println("lstUsuarioCarrera = " + carrera.getLstUsuarioCarrera());
        System.out.println("lstPlantillas = " + carrera.getLstPlantillas());
        System.out.println("lstCarreraNivel = " + carrera.getLstCarreraNivel());
    }
}
